activateResult: function(id) {
this.proxy.ActivateResultRemote(id);
+ },
+
+ launchSearch: function(terms) {
+ // the provider is not compatible with the new version of the interface, launch
+ // the app itself but warn so we can catch the error in logs
+ log('Search provider ' + this.appInfo.get_id() + ' does not implement LaunchSearch');
+ this.appInfo.launch([], global.create_app_launch_context());
}
});
_init: function(appInfo, dbusName, dbusPath) {
this.parent(appInfo, dbusName, dbusPath, SearchProvider2Proxy);
+
+ this.canLaunchSearch = true;
},
activateResult: function(id) {
this.proxy.ActivateResultRemote(id, [], 0);
+ },
+
+ launchSearch: function(terms) {
+ this.proxy.LaunchSearchRemote(terms);
}
});
this.appInfo = appInfo;
this.searchSystem = null;
this.isRemoteProvider = !!isRemoteProvider;
+ this.canLaunchSearch = false;
},
/**
*/
activateResult: function(id) {
throw new Error('Not implemented');
+ },
+
+ /**
+ * launchSearch:
+ * @terms: Current search terms
+ *
+ * Called when the user clicks the provider icon.
+ */
+ launchSearch: function(terms) {
+ throw new Error('Not implemented');
}
});
Signals.addSignalMethods(SearchProvider.prototype);